package com.woniuxy.springhibernatejpastudy.service.inpl;

import com.woniuxy.springhibernatejpastudy.entity.Post;
import com.woniuxy.springhibernatejpastudy.mapper.PostRepository;
import com.woniuxy.springhibernatejpastudy.service.PostService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author: linKe
 * @Date: 2022/1/13 9:55
 * @FileName: PostServiceImpl
 * @version: 1.0
 * @Description: 描述
 */
@Service
public class PostServiceImpl implements PostService {
    @Autowired
    PostRepository postRepository;

    @Override
    public List<Post> findAll() {
        // 底层接口定义   Iterable<T> findAll();
        return (List<Post>) postRepository.findAll();
    }

    @Override
    public Post save(Post post) {
        // 保存给定的实体。 使用返回的实例进行进一步的操作，因为保存操作可能已经完全改变了实体实例。
        // 底层接口定义   <S extends T> S save(S entity);
        return postRepository.save(post);
    }

    @Override
    public Post findById(Long id) {
        return postRepository.findById(id).get();
    }
}
